﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Fated.Character.ChartGeneration {
    /// <summary>
    /// Completed: Venus, Mars
    /// </summary>
    class Mercury : Planet {
        public static void generateStats(out float[] amount, out int[] affected,
           PlanetNames p, Aspect.AspectType a) {

            amount = new float[] { 0, 0 };
            affected = new int[2] { (int)Chart.Stats.Mind, (int)Chart.Stats.Body };

            if (p == PlanetNames.Mars) affected[1] = (int)Chart.Stats.Body;
            if (p == PlanetNames.Venus) affected[1] = (int)Chart.Stats.Social;

            if (a == Aspect.AspectType.Trine) {
                if (p == PlanetNames.Mars) amount[0] = amount[1] = largeUp;
                if (p == PlanetNames.Venus) amount[0] = amount[1] = smallUp;
            }
            if (a == Aspect.AspectType.Sextile) {
                if (p == PlanetNames.Mars) amount[0] = amount[1] = smallUp;
                if (p == PlanetNames.Venus) {
                    if (yang) amount[0] = smallUp;
                    else amount[1] = smallUp;
                }
            }
            if (a == Aspect.AspectType.Conjunct) {
                if (p == PlanetNames.Mars) {
                    if (yang) { amount[0] = largeUp; } else { amount[1] = largeUp; }
                }
                if (p == PlanetNames.Venus) {
                    if (yang) { amount[0] = smallUp; amount[1] = smallDown; } else { amount[1] = smallUp; amount[0] = smallDown; }
                }
            }
            if (a == Aspect.AspectType.Square) {
                if (p == PlanetNames.Mars) amount[0] = amount[1] = smallDown;
                if (p == PlanetNames.Venus) amount[0] = amount[1] = largeDown;
            }
            if (a == Aspect.AspectType.Opposite) {
                if (p == PlanetNames.Venus || p == PlanetNames.Mars) {
                    if (!yang) { amount[0] = smallUp; amount[1] = smallDown; } else { amount[1] = smallUp; amount[0] = smallDown; }
                }
            }
        }
    }
}
